/**
 * 校验中国大陆手机号格式是否正确
 * @param {string} phone - 待校验的手机号
 * @returns {boolean} 格式正确返回true，否则返回false
 */
export function isPhoneValid(phone) {
    // 先判断是否为非空字符串（避免null/undefined/数字类型导致的校验异常）
    if (typeof phone !== 'string' || phone.trim() === '') {
        return false;
    }
    // 中国大陆手机号正则：1开头 + 第二位3-9 + 后续9位数字（共11位）
    const phoneReg = /^1[3-9]\d{9}$/;
    // 测试手机号是否匹配正则
    return phoneReg.test(phone.trim());
}

/**
 * 判断字符串是否有有效内容（排除 null/undefined、空字符串、纯空格）
 * @param {*} str - 待判断的值（可能是字符串、null、undefined 等）
 * @param {boolean} [ignoreWhitespace=true] - 是否忽略纯空格（默认：true，即纯空格视为无效）
 * @returns {boolean} - 有有效内容返回 true，否则返回 false
 */
export function isStringHasValue(str, ignoreWhitespace = true) {
    // 1. 先排除非字符串类型（null、undefined、数字、对象等）
    if (typeof str !== 'string') {
        return false;
    }

    // 2. 处理空格判断：是否忽略纯空格
    const processedStr = ignoreWhitespace ? str.trim() : str;

    // 3. 最终判断：是否有非空内容
    return processedStr.length > 0;
}